package com.example.demo.util;

import com.auth0.jwt.JWT;
import com.auth0.jwt.algorithms.Algorithm;

import java.util.Date;
import java.util.Map;

public class JwtUtil {

    private static final String KEY = "lqk";

    //生成令牌（TOken）
    public static String genToken(Integer userId) {

        return JWT.create()
                .withClaim("id", userId)//设置载荷的数据
                .withExpiresAt(new Date(System.currentTimeMillis() + 4 * 60 * 60 * 1000))//设置过期时间
                .sign(Algorithm.HMAC256(KEY));

    }

    //解密令牌（TOken）

    public static Map<String, Object> parseToken(String token) {
        try {
            return JWT.require(Algorithm.HMAC256(KEY)).build().verify(token).getClaim("claims").asMap();
        } catch (Exception e) {
            return null;
        }
    }
}
